333 research outputs found
The Analogue Computer as a Voltage-Controlled Synthesiser
This paper re-appraises the role of analogue computers within electronic and
computer music and provides some pointers to future areas of research. It
begins by introducing the idea of analogue computing and placing in the context
of sound and music applications. This is followed by a brief examination of the
classic constituents of an analogue computer, contrasting these with the
typical modular voltage-controlled synthesiser. Two examples are presented,
leading to a discussion on some parallels between these two technologies. This
is followed by an examination of the current state-of-the-art in analogue
computation and its prospects for applications in computer and electronic
music
The Csound Plugin Opcode Framework
This article introduces the Csound Plugin Opcode Frame-work (CPOF), which aims to provide a simple lightweightC++ framework for the development of new unit genera-tors for Csound. The original interface for this type workis provided in the C language and it still provides the mostcomplete set of components to cover all possible require-ments. CPOF attempts to allow a simpler and more eco-nomical approach to creating plugin opcodes. The paperexplores the fundamental characteristics of the frameworkand how it is used in practice. The helper classes that areincluded in CPOF are presented with examples. Finally,we look at some uses in the Csound source codebase
Faust Programs in Csound
Csound (Boulanger, 2000) is a Music-N language that was first released in 1986 as a C-port of the Music
11 language, originally developed for the DEC PDP-11 computers at MIT in the 1970s. Since its release,
it has undergone a number of changes, and in 2006, a completely re-engineered system, Csound 5, was
launched. This system had a number of new possibilities, as it was designed as a library that could be
embedded in a variety of environments. It also included the possibility of plugin opcodes, which would
extend the language without the need for the whole re-compilation of the code base. In 2013, a further
review of the system was carried out, and a new major version, Csound 6 (Cabrera et al., 2013), was
launched, with substantial improvements and additions. This is the current system, discussed in this
article.
Faust (Orlarey, 2009) is a functional language designed to translate signal processing flowcharts into C++
or Javascript source code, or into LLVM bitcode. It allows plugins to be designed and then translated to
C++ code that can be compiled into dynamic libraries, which can then be loaded into Csound as new unit
generators (opcodes). This is done by the Faust compiler, which can be executed from the command-line,
from the IDE Faustworks or on-line, via a web-based frontend.
Recently, however, a new version of the system, Faust 2, has been developed where the Faust compiler is
now provided as a library (libfaust) that can be embedded into another program. Libfaust can provide the
Faust functionality in a dynamic way, where Faust programs can be compiled on-the-fly into LLVM
bitcode that can be executed directly. This allows the possibility of short- circuiting the development
process, so that a plugin opcode is not required anymore as an in-between the original Faust program and
the running Unit generator in Csound
On the Development of C++ Instruments
This paper brings together some ideas regardingcomputer music instrument development with re-spect to the C++ language. It looks at these fromtwo perspectives, that of the development of self-contained instruments with the use of a class libraryand that of programming of plugin modules for amusic programming system. Working code exam-ples illustrate the paper throughout
The design of a lightweight DSP programming library
This paper discusses the processes involved in designing and implementing an object-oriented library for audio signal processing in C++ (ISO/IEC C++14). The introduction presents the background and motivation for the project,which is related to providing a platform for the study and research of algorithms, with an added benefit of having an efficient and easy-to-deploy library of classes for application development. The design goals and directions are explored next, focusing on the principles of stateful representations of algorithms, abstraction/ encapsulation, code re-use and connectivity. The paper provides a general walk-through the current classes and a detailed discussion of two algorithm implementations. Completing the discussion, an example program is presented
Binaural HRTF Based Spatialisation: New Approaches and Implementation
New approaches to Head Related Transfer Function (HRTF)
based artificial spatialisation of audio are presented and discussed
in this paper. A brief summary of the topic of audio spatialisation
and HRTF interpolation is offered, followed by an appraisal
of the existing minimum phase HRTF interpolation
method. Novel alternatives are then suggested which essentially
approach the problem of phase interpolation more directly. The
first technique, based on magnitude interpolation and phase truncation,
aims to use the empirical HRTFs without the need for
complex data preparation or manipulation, while minimizing any
approximations that may be introduced by data transformations.
A second approach augments a functionally based phase model
with low frequency non-linear frequency scaling based on the
empirical HRTFs, allowing a more accurate phase representation
of the more relevant lower frequency end of the spectrum. This
more complex approach is deconstructed from an implementation
point of view. Testing of both algorithms is then presented,
which highlights their success, and favorable performance over
minimum phase plus delay methods
New Perspectives on Distortion Synthesis for VA Oscillators and Resonance Emulation
Abstract included in text
Theory and Practice of Modified Frequency Modulation Synthesis
The theory and applications of a variant of the well-known synthesis method of frequency
modulation, modified frequency modulation (ModFM), is discussed. The technique addresses
some of the shortcomings of classic FM and provides a more smoothly evolving spectrum
with respect to variations in the modulation index. A complete description of the method is
provided, discussing its characteristics and practical considerations of instrument design.
A phase synchronous version of ModFM is presented and its applications on resonant and
formant synthesis are explored. Extensions to the technique are introduced, providing means
of changing spectral envelope symmetry. Finally its applications as an adaptive effect are
discussed. Sound examples for the various applications of the technique are offered online
The ModFM synthesis vocoder
Vocoders have been practical tools for synthesis and processing since the original voice encoder by Homer Dudley
in the 1930s . They enable the transformation and
reproduction of an input sound by the manipulation of its spectral envelope. This paper presents a new variation on the principle utilising the technique of Modified FM (ModFM) synthesis for sound generation. The general design of the vocoder is introduced, followed by a non-mathematical introduction to the ModFM synthesis
algorithm. The article is completed with an outline of applications and a discussion of some basic examples of the
vocoder operation
- …